import book.Book;
import book.BookList;
import user.AdminUser;
import user.NormalUser;
import user.User;

import java.util.Scanner;

public class Main {
    public static User login() {
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的姓名！");
        String name =scanner.nextLine();
        System.out.println("请输入你的身份:1 代表管理员，0 代表普通用户 -->>");
        int choice = scanner.nextInt();
        if(choice == 1){
            //生成管理员对象
            return new AdminUser(name);
        } else {
            return new NormalUser(name);
        }

    }
    public static void main(String[] args) {
        BookList bookList = new BookList();
        //user指向哪个用户是不确定的，根据我们的返回值来确定的，不同的用户有不同的菜单
        User user = login();//发生向上转型
        while(true){
        int choice = user.menu();//菜单只是存在子类当中，所以我们需要在use里面声明一下菜单
        // 这里是向上转型
        //根据我们这个choice来调用指定的操作
        user.doOperation(choice,bookList);
        }

    }
}
